/*
 *   Copyright (C) Key Bridge Global LLC and/or its affiliates.
 *
 *   This program is free software: you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation, either version 3 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package com.keybridgeglobal.wsif;

import java.util.Date;
import javax.xml.bind.annotation.*;

/**
 * <p>Java class for antenna complex type.
 * <p/>
 * <p>The following schema fragment specifies the expected content contained
 * within this class.
 * <p/>
 * <
 * pre> &lt;complexType name="antenna"> &lt;complexContent> &lt;restriction
 * base="{http://www.w3.org/2001/XMLSchema}anyType"> &lt;sequence> &lt;element
 * name="HH" type="{http://www.w3.org/2001/XMLSchema}string"/> &lt;element
 * name="HV" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 * &lt;element name="VV" type="{http://www.w3.org/2001/XMLSchema}string"
 * minOccurs="0"/> &lt;element name="VH"
 * type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 * &lt;/sequence> &lt;attribute name="id" use="required"
 * type="{http://www.w3.org/2001/XMLSchema}long" /> &lt;attribute
 * name="manufacturer" use="required"
 * type="{http://www.w3.org/2001/XMLSchema}string" /> &lt;attribute name="model"
 * use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 * &lt;attribute name="description"
 * type="{http://www.w3.org/2001/XMLSchema}string" /> &lt;attribute
 * name="comment" type="{http://www.w3.org/2001/XMLSchema}string" />
 * &lt;attribute name="lowBandGain"
 * type="{http://www.w3.org/2001/XMLSchema}double" /> &lt;attribute
 * name="midBandGain" type="{http://www.w3.org/2001/XMLSchema}double" />
 * &lt;attribute name="highBandGain"
 * type="{http://www.w3.org/2001/XMLSchema}double" /> &lt;attribute
 * name="frequencyMin" type="{http://www.w3.org/2001/XMLSchema}double" />
 * &lt;attribute name="frequencyMax"
 * type="{http://www.w3.org/2001/XMLSchema}double" /> &lt;attribute
 * name="azimuthBeamWidth" type="{http://www.w3.org/2001/XMLSchema}double" />
 * &lt;attribute name="elevationBeamWidth"
 * type="{http://www.w3.org/2001/XMLSchema}double" /> &lt;attribute name="vswr"
 * type="{http://www.w3.org/2001/XMLSchema}double" /> &lt;attribute
 * name="frontToBack" type="{http://www.w3.org/2001/XMLSchema}double" />
 * &lt;attribute name="electricalDowntilt"
 * type="{http://www.w3.org/2001/XMLSchema}double" /> &lt;attribute
 * name="dateData" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
 * &lt;/restriction> &lt;/complexContent> &lt;/complexType>
 * </pre>
 * <p/>
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "antenna", propOrder = {
  "hh",
  "hv",
  "vv",
  "vh"
})
@XmlRootElement
public class Antenna {

  @XmlElement(name = "HH", required = true)
  protected String hh;
  @XmlElement(name = "HV")
  protected String hv;
  @XmlElement(name = "VV")
  protected String vv;
  @XmlElement(name = "VH")
  protected String vh;
  @XmlAttribute(name = "id", required = true)
  protected long id;
  @XmlAttribute(name = "manufacturer", required = true)
  protected String manufacturer;
  @XmlAttribute(name = "model", required = true)
  protected String model;
  @XmlAttribute(name = "description")
  protected String description;
  @XmlAttribute(name = "comment")
  protected String comment;
  @XmlAttribute(name = "lowBandGain")
  protected Double lowBandGain;
  @XmlAttribute(name = "midBandGain")
  protected Double midBandGain;
  @XmlAttribute(name = "highBandGain")
  protected Double highBandGain;
  @XmlAttribute(name = "frequencyMin")
  protected Double frequencyMin;
  @XmlAttribute(name = "frequencyMax")
  protected Double frequencyMax;
  @XmlAttribute(name = "azimuthBeamWidth")
  protected Double azimuthBeamWidth;
  @XmlAttribute(name = "elevationBeamWidth")
  protected Double elevationBeamWidth;
  @XmlAttribute(name = "vswr")
  protected Double vswr;
  @XmlAttribute(name = "frontToBack")
  protected Double frontToBack;
  @XmlAttribute(name = "electricalDowntilt")
  protected Double electricalDowntilt;
  @XmlAttribute(name = "dateData")
  @XmlSchemaType(name = "dateTime")
  protected Date dateData;

  public Antenna() {
  }

  public Antenna(String manufacturer, String model) {
    this.manufacturer = manufacturer;
    this.model = model;
  }

  /**
   * Gets the value of the hh property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getHH() {
    return hh;
  }

  /**
   * Sets the value of the hh property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setHH(String value) {
    this.hh = value;
  }

  /**
   * Gets the value of the hv property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getHV() {
    return hv;
  }

  /**
   * Sets the value of the hv property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setHV(String value) {
    this.hv = value;
  }

  /**
   * Gets the value of the vv property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getVV() {
    return vv;
  }

  /**
   * Sets the value of the vv property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setVV(String value) {
    this.vv = value;
  }

  /**
   * Gets the value of the vh property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getVH() {
    return vh;
  }

  /**
   * Sets the value of the vh property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setVH(String value) {
    this.vh = value;
  }

  /**
   * Gets the value of the id property.
   * <p/>
   */
  public long getId() {
    return id;
  }

  /**
   * Sets the value of the id property.
   * <p/>
   */
  public void setId(long value) {
    this.id = value;
  }

  /**
   * Gets the value of the manufacturer property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getManufacturer() {
    return manufacturer;
  }

  /**
   * Sets the value of the manufacturer property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setManufacturer(String value) {
    this.manufacturer = value;
  }

  /**
   * Gets the value of the model property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getModel() {
    return model;
  }

  /**
   * Sets the value of the model property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setModel(String value) {
    this.model = value;
  }

  /**
   * Gets the value of the description property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getDescription() {
    return description;
  }

  /**
   * Sets the value of the description property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setDescription(String value) {
    this.description = value;
  }

  /**
   * Gets the value of the comment property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getComment() {
    return comment;
  }

  /**
   * Sets the value of the comment property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setComment(String value) {
    this.comment = value;
  }

  /**
   * Gets the value of the lowBandGain property.
   * <p/>
   * @return possible object is {@link Double }
   *
   */
  public Double getLowBandGain() {
    return lowBandGain;
  }

  /**
   * Sets the value of the lowBandGain property.
   * <p/>
   * @param value allowed object is {@link Double }
   *
   */
  public void setLowBandGain(Double value) {
    this.lowBandGain = value;
  }

  /**
   * Gets the value of the midBandGain property.
   * <p/>
   * @return possible object is {@link Double }
   *
   */
  public Double getMidBandGain() {
    return midBandGain;
  }

  /**
   * Sets the value of the midBandGain property.
   * <p/>
   * @param value allowed object is {@link Double }
   *
   */
  public void setMidBandGain(Double value) {
    this.midBandGain = value;
  }

  /**
   * Gets the value of the highBandGain property.
   * <p/>
   * @return possible object is {@link Double }
   *
   */
  public Double getHighBandGain() {
    return highBandGain;
  }

  /**
   * Sets the value of the highBandGain property.
   * <p/>
   * @param value allowed object is {@link Double }
   *
   */
  public void setHighBandGain(Double value) {
    this.highBandGain = value;
  }

  /**
   * Gets the value of the frequencyMin property.
   * <p/>
   * @return possible object is {@link Double }
   *
   */
  public Double getFrequencyMin() {
    return frequencyMin;
  }

  /**
   * Sets the value of the frequencyMin property.
   * <p/>
   * @param value allowed object is {@link Double }
   *
   */
  public void setFrequencyMin(Double value) {
    this.frequencyMin = value;
  }

  /**
   * Gets the value of the frequencyMax property.
   * <p/>
   * @return possible object is {@link Double }
   *
   */
  public Double getFrequencyMax() {
    return frequencyMax;
  }

  /**
   * Sets the value of the frequencyMax property.
   * <p/>
   * @param value allowed object is {@link Double }
   *
   */
  public void setFrequencyMax(Double value) {
    this.frequencyMax = value;
  }

  /**
   * Gets the value of the azimuthBeamWidth property.
   * <p/>
   * @return possible object is {@link Double }
   *
   */
  public Double getAzimuthBeamWidth() {
    return azimuthBeamWidth;
  }

  /**
   * Sets the value of the azimuthBeamWidth property.
   * <p/>
   * @param value allowed object is {@link Double }
   *
   */
  public void setAzimuthBeamWidth(Double value) {
    this.azimuthBeamWidth = value;
  }

  /**
   * Gets the value of the elevationBeamWidth property.
   * <p/>
   * @return possible object is {@link Double }
   *
   */
  public Double getElevationBeamWidth() {
    return elevationBeamWidth;
  }

  /**
   * Sets the value of the elevationBeamWidth property.
   * <p/>
   * @param value allowed object is {@link Double }
   *
   */
  public void setElevationBeamWidth(Double value) {
    this.elevationBeamWidth = value;
  }

  /**
   * Gets the value of the vswr property.
   * <p/>
   * @return possible object is {@link Double }
   *
   */
  public Double getVswr() {
    return vswr;
  }

  /**
   * Sets the value of the vswr property.
   * <p/>
   * @param value allowed object is {@link Double }
   *
   */
  public void setVswr(Double value) {
    this.vswr = value;
  }

  /**
   * Gets the value of the frontToBack property.
   * <p/>
   * @return possible object is {@link Double }
   *
   */
  public Double getFrontToBack() {
    return frontToBack;
  }

  /**
   * Sets the value of the frontToBack property.
   * <p/>
   * @param value allowed object is {@link Double }
   *
   */
  public void setFrontToBack(Double value) {
    this.frontToBack = value;
  }

  /**
   * Gets the value of the electricalDowntilt property.
   * <p/>
   * @return possible object is {@link Double }
   *
   */
  public Double getElectricalDowntilt() {
    return electricalDowntilt;
  }

  /**
   * Sets the value of the electricalDowntilt property.
   * <p/>
   * @param value allowed object is {@link Double }
   *
   */
  public void setElectricalDowntilt(Double value) {
    this.electricalDowntilt = value;
  }

  /**
   * Gets the value of the dateData property.
   * <p/>
   * @return possible object is {@link Date }
   *
   */
  public Date getDateData() {
    return dateData;
  }

  /**
   * Sets the value of the dateData property.
   * <p/>
   * @param value allowed object is {@link Date }
   *
   */
  public void setDateData(Date value) {
    this.dateData = value;
  }
}
